.TH std::basic_string::npos 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_string::npos \- std::basic_string::npos

.SH Synopsis
   static const size_type npos = -1;

   This is a special value equal to the maximum value representable by the type
   size_type. The exact meaning depends on context, but it is generally used either as
   end of string indicator by the functions that expect a string index or as the error
   indicator by the functions that return a string index.

.SH Note

   Although the definition uses -1, size_type is an unsigned integer type, and the
   value of npos is the largest positive value it can hold, due to signed-to-unsigned
   implicit conversion. This is a portable way to specify the largest value of any
   unsigned type.

.SH Example


// Run this code

 #include <bitset>
 #include <iostream>
 #include <string>

 int main()
 {
     // string search functions return npos if nothing is found
     std::string s = "test";
     if (s.find('a') == s.npos)
         std::cout << "no 'a' in 'test'\\n";

     // functions that take string subsets as arguments
     // use npos as the "all the way to the end" indicator
     std::string s2(s, 2, std::string::npos);
     std::cout << s2 << '\\n';

     std::bitset<5> b("aaabb", std::string::npos, 'a', 'b');
     std::cout << b << '\\n';
 }

.SH Output:

 no 'a' in 'test'
 st
 00011

.SH See also

   npos     special value. The exact meaning depends on the context
   \fB[static]\fP \fI(public static member constant of std::basic_string_view<CharT,Traits>)\fP

